Skin SDK Textzone
Skin SDK: The <textzone> element
The <textzone> element is used to display static or dynamic texts inside its boundaries.
Syntax:
<textzone deck="" resetcounter="" action"" group="horizontal" click="" align="">.
Inherited Attributes :
visibility="" os="" panel="" deck=""
See Global Element Attributes
Attributes : (All are optional)
- resetcounter="" : if set to "true", the counter will be reset if this textzone is clicked
- action="" A textzone can also have a VDJScript action, which will be executed if clicked.
- group="horizontal" : Use this property if you need the textzone to display all the nested <text> elements, separated by a space character
Children:
- <pos x="" y=""/> : Give the position of the textzone on the screen. Read further details in Skin Element Position
- <size width="" height=""/> : Give the width and height of the textzone. Read further details in Skin Element Position
- <background color="" /> or <background x="" y="" /> : Optional. Fill the textzone area with a solid color or graphics area from the skin image. (Still preferred adding a <visual> before the <textzone>, especially if the text is not static).
- <text font="" weight="" fontsize="" color="" align="" valign="" dx="" dy="" overdx="" overdy="" width="" multiline="" format="" text="" action=""> : Specify the text to be displayed with these attributes :
[list] - font : select the font to be used (default: Arial). If you use the same font throughout the entire skin, you can save this attribute from typing all the times, by using <font>
- weight : possible values: "normal" (default) or "bold"
- fontsize : give the font size (default: 12)
- color : give the font color (default is white). The color can be written in numerical format (#0000FF) or with the color name ("blue"). See Colors
- align : Use this attribute to horizontally align the displayed text. Possible values: "left", "right", "center" (or "middle"). If not defined, text will be left-aligned.
- valign : Use this attribute to vertically align the displayed text. Possible values: "top", "bottom", "center". If not defined, text will be vertically centered-aligned.
- dx="" dy="" width="" : You can create margins/padding to your text by defining an X or Y offset (default is 0) along with the maximum width of the displayed text (if not defined, the width="" from the <pos> child will be used). E.g. dx="10" width="50" will create 10 pixels of left margin with a maximum text width of 50 pixels.
- overdx="" overdy="" : Same as the dx and dy attributes above. Will be used for the text when mouse is over the <textxone> area.
- scroll : if set to "yes", the text will scroll if it can't fit in the box. Default is "no"
- multiline : Use multiline="yes" if you want the text to wrap in multiple lines instead of cut/shrink to a single line. Make sure the height is big enough .
- text : Use this attribute to display a static text. e.g. text="PLAY".
- format : Use this attribute to display dynamic texts using %shortcuts. (see the exact format below).
- action : Use this attribute to display texts returned from VDJ scripts e.g. action="get_effect_name"
Note: Use one of the 3 previous attributes (text, format or action) to display your text, as only one will be used and the other 2 will be ignored.
Multiple <text> children can be added inside the same <textzone>.
If no group='horizontal" property is defined in the <textzone>, the additional <text> children will cycle and their texts will be displayed every time the <textzone> is clicked.
If group="horizontal" is defined, all the <text> children will be displayed in the same horizontal line separated by a space.
[/list]
The format is a string that describes how the text will be displayed. You can still use a VDJ Script action with backward single quotes `` for example format="`get sample_slot_name X`" which displays the name of the sample in slot X, or you can use one of the special textzone commands:
- \\: print a single \ character
- \n : print a line feed
- \r : print a carriage return
- \t : print a tab character
- \x : print the ascii character xx
- %% : print a single % character
- %yy : goto to the yy line
- %xx,yy : goto to the xx,yy position
- %title : print the song's title
- %author : print the song's author
- %comment : print the song's comment if any
- %fullhour : display the time in a hh:mm:ss format
- %hour : display the time in a hh:mm format
- %hour12 : display the time in a h:mm am/pm format
- %counter : display a counter
- %pitch : print the pitch value
- %time : print the length of the song (can use modifiers - see below)
- %spent : print the spent time of the song (can use modifiers)
- %left : print the left time of the song (can use modifiers)
- %cueX : print the time position of the Xth cue point (can use modifiers)
- %tocueX : print the time to the Xth cue point (can use modifiers)
- %fromcueX : print the time elapsed from the Xth cue point (can use modifiers)
- %start : print the time position of the first beat (can use modifiers)
- %end : print the time position of the last beat (can use modifiers)
- %tostart : print the time to the first beat (can use modifiers)
- %toend : print the time to the last beat (can use modifiers)
- %fromstart : print the time elapsed from the first beat (can use modifiers)
- %fromend : print the time elapsed from the last beat (can use modifiers)
- %bpm : print the bpm of the song (can use modifiers)
- %bpmex : print the bpm of the song (can use modifiers)
- %bpmexx : print the bpm of the song (can use modifiers)
- %level : print the song's level in dB (can use modifiers)
- %key : print the song's key
- %camelot : print the song's key (numeric)
- %keyoffset
- %cpu
- %status
- %maineffect
- %effectslotX
- %mainsample
- %videofx
- %videotransition
- %linkedvideo
- %loop
- %name
- %namecueX
- %pitchrange
- %djc_buttonX
New - %nextcue : print the time of the next cue point
- %prevcue : print the time of the last cue point
- %nextcuename : print the name of the next cue point
- %prevcuename : print the name of the last cue point
- P : modify the value to reflect the pitch change
- L : use the local value instead of the global value (only used by %level)
- B : display the value as a number of beat instead of a time